1. Field of the Invention
The present invention relates to a system and method for geometric modeling and, more particularly, to a system and method for concurrently modeling any element of a geometric model.
2. Description of the Related Art
Historically, geometric modeling tasks are performed by computer and by pencil-and-paper draftsmen in much the same way. That is, a task is allocated to a single operator who performs a large quantity of work (i.e., producing a drawing or a computer-aided-design (CAD) model file from a description or schematic) before any other operators can access the model being built (for editing, correction, evaluation, or any other process).
This technique is inherently sequential, and makes it difficult to put more operators on a task. Unless the models can be broken up into complete, discrete units, a model can only have a single operator working on it at once. If it were possible to have several operators at several workstations concurrently editing a single model, it would become possible to place more than one operator on a given modeling task. Putting multiple operators to work on the same task provides benefits in speed of model construction and error identification and correction (because inspectors and other modelers can observe and correct work in progress).
Two major factors that have historically prevented concurrent modeling are resource contention and the distribution of the model. To perform concurrent modeling efficiently, a structure is necessary that prevents different operators from xe2x80x9cstepping on each other""s toesxe2x80x9d as they work on portions of the same model. Furthermore, the model must be rapidly accessible from two complete modeling workstations at once, or the operators will be getting in each other""s way physically as well as within the model itself.
Networked computer CAD and modeling systems provide the technology base through which resource contentions between users can be managed. For example, in the CAD world, some degree of concurrent modeling is achieved by allowing different users to operate independently on different layers of a single CAD file.
This fits the definition of concurrent modeling, but the scale of parallelism is extremely coarse. Operating on different layers is barely better than simply assigning one view to each of a set of draftsmen. This is because each operator is essentially operating independently in an arbitrarily cordoned-off section of the model, and that partition of the model cannot be dynamically changed or redone to establish new boundaries as necessary.
Furthermore, updates are not dynamic, but are handled on explicit request. As a result, much of the aforementioned error correction capability is removed, since other operators will rarely see the product of a given operator until the latter is basically finished with their work. Thus, there is a need for a system and method that allows any element of a model to be concurrently modeled.
The present invention provides a system and method for concurrently modeling any element of a model. The system includes a first computer that has a database, and a second computer that is connected to the first computer. The database has a number of objects that define a model. The objects include index objects and model objects.
The first computer includes means for detecting an update instruction, and updating an object stored in the database in response to the update instruction. In addition, the first computer includes means for outputting a notification to the second computer that the database has been updated.
The second computer includes means for loading a number of objects from the database into the second computer to form a corresponding number of local objects. The local objects include local index objects and local model objects. The second computer further includes means for constructing a plurality of visual representations from the local model objects. Each visual representation is constructed from a corresponding local model object. Means for displaying a selected view of the model on a display are also included in the second computer. The selected view includes a number of visual representations.
In addition, the second computer includes means for editing a visual representation of a local object to define a change to the local object. The means includes means for editing a visual representation of a local model object to define a change to the local model object. The second computer further includes means for instructing the first computer to update the object stored in the database that corresponds with the local object that was edited to form an updated object in the database that reflects the change made to the local object. The means includes means for instructing the first computer to update the model object stored in the database that corresponds with the local model object that was edited to form an updated model object in the database that reflects the change made to the local model object.
The second computer also includes means for loading into the second computer the updated object to form an updated local object in response to the update notification. The means includes means for loading into the second computer the updated model object to form an updated local model object in response to the update notification. Further, means for constructing a visual representation from the updated local model object to form a reconstructed visual representation are included in the second computer. In addition, the second computer includes means for redisplaying the selected view of the model on the display as a redisplayed view. The redisplayed view includes the reconstructed visual representation.
The method of the present invention includes the step of loading a number of (index and model) objects from the database into the second computer to form a corresponding number of local objects, the local objects including local index objects and local model objects. In addition, the present invention includes the step of constructing a plurality of visual representations from the local model objects where each visual representation is constructed from a corresponding local model object. Further, the step of displaying a selected view of the model on a display is also included. The selected view includes a number of visual representations.
The method of the present invention additionally includes the step of editing a visual representation of a local object to define a change to the local object. The step includes the step of editing a visual representation of a local model object to define a change to the local model object.
Further, the method includes the step of instructing the first computer to update the object stored in the database that corresponds with the local object that was edited to form an updated object in the database that reflects the change made to the local object. The step includes the step of instructing the first computer to update the object stored in the database that corresponds with the local object that was edited to form an updated object in the database that reflects the change made to the local object.
The step of loading into the second computer the updated object to form an updated local object in response to an update notification is also included. The step includes the step of loading into the second computer the updated object to form an updated local object in response to the update notification.
The method further includes the steps of constructing a visual representation from the updated local model object to form a reconstructed visual representation, and redisplaying the selected view of the model on the display as a redisplayed view, the redisplayed view including the reconstructed visual representation.